<?php
/*
 * Smarty plugin
 * *feito pelo Werneck
 * -------------------------------------------------------------
 * File:     function.input.php
 * Type:     function
 * Name:     input
 * Purpose:  input helper
 * -------------------------------------------------------------
 */
function smarty_function_input($params, &$view)
{
	//OBS: se o nome do modelo que o cara colocou como parametro não existir testar para não dar merda!!

	//AJEITA ALGUNS PARAMETROS:
	
	$fieldName = false;
	$modelName = false;
	
	if ( isset($params['name']) )
	{
		$modelName 	= $view->getTemp('form_modelName');
		
		//TODO pegar esse valor do nome do modelo q estou usando senão colocar valor aleatório
		$modelName	= $modelName ? $modelName : "usuario"; 
		
		$fieldName = $params['name'];
		
		if( isset($modelName) )
		{
			$params['name']	= "data[$modelName][$fieldName]";
			$id				= isset($params['id']) ? $params['id'] : "input-$modelName-$fieldName";
		}
		else 
		{
			$params['name'] = "data[$fieldName]";
			$id				= isset($params['id']) ? $params['id'] : "input-$fieldName";
		}
	}
	
	if ( !isset($params['type']) )
	{
		$params['type'] = 'text'; //TODO pegar esse valor no modelo (array de validação, ou array de tipos que correspondem aos de validação)
	}
	
	//COMEÇA A IMPRIMIR:
	
	$output = "";
	
	//IMPRIME O LABEL
	if ( isset($params['label']) )
	{		
		$params['id']	= $id;
		$text			= $params['label'];
		
		$output .= "\n<label id='$id"."_label' for='$id'>$text</label>\n";

		unset($params['label']);
	}
	
	
	//Passa os parametros inúteis para o processamento direto para a tag
	$output .= '<input';
	foreach($params as $name => $value){
		$output .= " $name='$value'";
	}
	$output .= '>';
	
	return $output;
}

?>